home *** CD-ROM | disk | FTP | other *** search
/ Aminet 25 / Aminet 25 (1998)(GTI - Schatztruhe)[!][Jun 1998].iso / Aminet / dev / misc / BoulderEngine.lha / source / elektro.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-03-30  |  855 b   |  67 lines

  1. #include "GRAFKERNEL.C"
  2. #include "RND.C"
  3. #include "JOYSTICK.C"
  4.  
  5. extern long rnd();
  6. static LONG x,y;
  7.  
  8. static UBYTE k[52*400],gyva;
  9.  
  10. masyvas()
  11. {
  12. REGISTER SHORT i;
  13. SHORT n;
  14. n=51*400;
  15. for(i=0;i<n;i++)
  16.  {
  17.   k[i]=10;
  18.  }
  19. }
  20. grozis()
  21. {
  22. SetRast(&rastport,0L);
  23. SetAPen(&rastport,1L);
  24. Move(&rastport,0L,0L); Draw(&rastport,600L,0L); Draw(&rastport,600L,399L);
  25. Draw(&rastport,0L,399L); Draw(&rastport,0L,0L);
  26. RectFill(&rastport,0L,0L,50L,400L);
  27. SetAPen(&rastport,0L);
  28. }
  29.  
  30. banga()
  31. {
  32. BYTE dy,b;
  33. dy=rnd(3)-1;
  34. x--; y=y+dy;
  35. if(y<1) {y=1;}
  36. if(y>398) {y=398;}
  37. if(x<2) {gyva=0; return();}
  38. if(x<51)
  39.  {
  40.   b=k[x*400+y];
  41.   if(b>0)
  42.   {
  43.    if(b<2) { plot(x,y); }
  44.    b--;
  45.    k[x*400+y]=b; gyva=0;
  46.   }
  47.  }
  48. }
  49. start()
  50. {
  51. x=60; gyva=1;
  52. y=rnd(396)+2;
  53. while(gyva && !fire())
  54. {  banga(); }
  55. }
  56. main()
  57. {
  58. pasiruosk();
  59. rnd(-87341);
  60. grozis();
  61. masyvas();
  62. while(!fire())
  63. { start(); }
  64. FreeMemory();
  65. }
  66.  
  67.